// 版权归Go作者所有。版权所有。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// go:构建aix |达尔文|蜻蜓| freebsd | |（js和wasm）| linux | netbsd | openbsd | | solaris | windows 
// /+构建aix darwin dragonfly freebsd js，wasm linux netbsd openbsd solaris windows 

package net

import (
	"syscall"
)

// sockr addr代表TCP、UDP、，IP或Unix网络端点
// 可转换为syscall.Sockaddr的地址。
type sockaddr interface {
	Addr

	// family返回依赖于平台的地址系列
	// 标识符。
	family() int

	// isWildcard报告地址是否为通配符
	// 地址。
	isWildcard() bool

	// sockaddr返回转换为syscall的地址
	// sockaddr类型，该类型实现syscall.sockaddr 
	// 接口。当地址为
	// nil时，返回nil接口。
	sockaddr(family int) (syscall.Sockaddr, error)

	// toLocal将零地址映射到本地系统地址（127.0.0.1或：：1）
	toLocal(net string) sockaddr
}
